package com.iwayin.core.dao.follow;

import java.util.List;

import com.iwayin.core.dataobject.FollowDO;

public interface FollowDAO {

	/**
	 * @author LiuWenLong
	 * @version 2012-3-5下午8:40:47
	 * @descriptions 添加关注
	 * @param follow
	 */
	void addFollow(FollowDO follow);

	/**
	 * @author LiuWenLong
	 * @version 2012-3-5下午8:41:20
	 * @descriptions 取消关注
	 * @param follow
	 */
	void deleteFollow(FollowDO follow);

	/**
	 * 查询关注
	 * 
	 * @param userId
	 * @param followId
	 * @return
	 */
	public FollowDO getFollower(Long userId, Long followId);

	/**
	 * 查询关注列表
	 * 
	 * @param query
	 * @return
	 */
	public List<FollowDO> findFollowList(FollowDO query);

	/**
	 * @author LiuWenLong
	 * @version 2012-3-8下午8:58:21
	 * @descriptions 查询userId的所有关注
	 * @param userId
	 * @return
	 */
	List<Long> findAllFollowByUserId(Long userId);
	
	/**
	 * @author ZhangLei
	 * @descriptions 查询当天follow最多的用户（默认显示10个）
	 * @param 
	 * @return
	 */
	public List<FollowDO> findFollowMostToday(Long size);
	
	/**
	 * @author ZhangLei
	 * @param userIds
	 * @return
	 */
	public List<Long> findFollowsFollows(List<Long> userIds);
	
	/**@descriptions 查询双向关注的好友
	 * @author ZhangLei
	 * @param userId
	 * @return
	 */
	public List<Long> findManuFriendList(Long userId);
}
